package com.dp.client.views.StaticMap;

import com.dp.client.dto.PlanDeVueloDTO;
import com.dp.client.servicios.MapaStatic.IServiciosMapaStatic;
import com.dp.client.servicios.MapaStatic.IServiciosMapaStaticAsync;
import com.dp.client.util.Alerts;
import com.google.gwt.core.client.GWT;
import com.google.gwt.event.dom.client.ErrorEvent;
import com.google.gwt.event.dom.client.ErrorHandler;
import com.google.gwt.user.client.rpc.AsyncCallback;
import com.google.gwt.user.client.ui.Composite;
import com.google.gwt.user.client.ui.HorizontalPanel;
import com.google.gwt.user.client.ui.Image;
import com.google.gwt.user.client.ui.SimplePanel;
import com.google.gwt.user.client.ui.VerticalPanel;

public class MapaEstatico extends Composite {
	private HorizontalPanel horizontalPanel;
	private VerticalPanel verticalPanel;
	private SimplePanel panelito;
	Image image;
	IServiciosMapaStaticAsync servicio = GWT.create( IServiciosMapaStatic.class );
	public MapaEstatico() {
		verticalPanel = new VerticalPanel();
		horizontalPanel = new HorizontalPanel();
		verticalPanel.setSize("100%", "100%");
		horizontalPanel.setSize("100%", "100%");
		panelito = new SimplePanel();
		panelito.setSize("100%", "100%");
		verticalPanel.add( panelito );
		verticalPanel.add(horizontalPanel);
		initWidget(verticalPanel);
	}
	public void cargarURl(String url,int idplanDeVuelo){
		if( idplanDeVuelo > 0){
			servicio.getPlanDeVueloDTO( idplanDeVuelo , new AsyncCallback<PlanDeVueloDTO>() {
				@Override
				public void onSuccess(PlanDeVueloDTO result) {
					if( result == null ) return ;
					panelito.add( new InfoRutaPanel( result ) );
				}
				
				@Override
				public void onFailure(Throwable caught) {
					Alerts.dialogErrorConexion();
				}
			});
		}
		horizontalPanel.clear();
		image= new Image();
		image.addErrorHandler(new ErrorHandler() {
		      public void onError(ErrorEvent event) {
		        Alerts.crearAlerta("Hubo un error al cargar la imagen");
		      }  
		    });
		image.setUrl(url);
		horizontalPanel.add(image);
	}
	public void clear(){
		horizontalPanel.clear();
	}
}
